A typical converged infrastructure may consist of tens, hundreds, or even thousands of computing components. A computing component may be defined as a manageable construct, which can be hardware or software based. Examples of computing components include a physical network switch, a compute server, a storage array, or a virtualized computing entity.
Several disadvantages are associated with conventional methods for managing a plurality of computing components. One disadvantage is ambiguity, which naturally arises when an administrator wants to perform a management action. For example, if the administrator wants to “configure a security banner for the switches,” it is unclear whether the administrator is referring to a few or all of the network switches, or a few or all of the multilayer fabric switches, or even a mix of the switches from these two categories. As another example, if an administrator wants to “configure a security banner for the switches *and* storage arrays,” the command is not precise because the configuration commands and parameters for a storage array are different than those for a switch. Another disadvantage of conventional methods for managing a plurality of computing components is the lack of automation. Even if the names of computing components are precise and without ambiguity, it is difficult to enumerate all of the components meant by a specific name and automate the actions and operations associated with, and to be performed on, it. For example, the meaning of the term “nexus5k” may be provided by a mapping. A mapping is a list of attributes for each computing component, and may include, for example, an “alias” for the computing component. If the term “nexus5k” maps or refers to multiple different switches, it can be a tedious and time consuming process to write computer code, such as an operation script, that performs the management action on all the different switches provided by the mapping. Yet another disadvantage of conventional methods of managing a plurality of computing components is the lack of concurrent processing. For example, if the target component maps to multiple components, conventionally, the management action is performed on each of the computing components sequentially, not concurrently. Thus, what is needed is a system, method and computer program product for managing a plurality of computing components, such as a converged infrastructure, that does not have the disadvantages associated with conventional systems and methods.